package modelo;

import java.io.Serializable;

import java.util.Date;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
import javax.persistence.PrimaryKeyJoinColumn;
import javax.persistence.Table;

@Entity
@Table(name="factura",schema="public")
@PrimaryKeyJoinColumn(name="cod_factura")

public class Factura implements Serializable {
	 
    /**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	@Id
    @Column(name="cod_factura")
	private String codFactura;
	@Column(name="fecha_factura")
	private Date fecha;
	@Column(name="monto_factura")
	private Double monto;
	@Column(name="cantidad_entradas")
	private int cantidad;
	@OneToOne(cascade= CascadeType.ALL)
	@JoinColumn(name="cod_cliente")
	private Cliente cliente;
	public Factura() {
		super();
		// TODO Auto-generated constructor stub
	}
	public Factura(String codFactura, Date fecha, Double monto, int cantidad,
			Cliente cliente) {
		super();
		this.codFactura = codFactura;
		this.fecha = fecha;
		this.monto = monto;
		this.cantidad = cantidad;
		this.cliente = cliente;
	}
	public String getCodFactura() {
		return codFactura;
	}
	public void setCodFactura(String codFactura) {
		this.codFactura = codFactura;
	}
	public Date getFecha() {
		return fecha;
	}
	public void setFecha(Date fecha) {
		this.fecha = fecha;
	}
	public Double getMonto() {
		return monto;
	}
	public void setMonto(Double monto) {
		this.monto = monto;
	}
	public int getCantidad() {
		return cantidad;
	}
	public void setCantidad(int cantidad) {
		this.cantidad = cantidad;
	}
	public Cliente getCliente() {
		return cliente;
	}
	public void setCliente(Cliente cliente) {
		this.cliente = cliente;
	}
	
	
}
